/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.trabalho.controller;

import br.com.trabalho.DAO.GenericoDAO;
import br.com.trabalho.model.Cliente;
import br.com.trabalho.model.Funcionario;
import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import org.hibernate.HibernateException;

/**
 *
 * @author Leandro
 */
@SessionScoped
@ManagedBean(name="funcionarioController")
public class FuncionarioController implements ManterGenerico{    
    GenericoDAO acessoHibernate;
    private Funcionario funcionario;    

    public FuncionarioController(){
        acessoHibernate = new GenericoDAO();               
    }
    
    
    @Override
    public String salvar() {
        try {
            acessoHibernate.gravar(this.funcionario);
            return "cadastroRealizadoFuncionario";
        } catch (HibernateException e) {
            e.getMessage();
            return "falha";
        }
    }

    @Override
    public String alterar() {
        try{ 
            acessoHibernate.alterar(this.funcionario);
            return "alt";
        }catch (HibernateException e) {
            e.getMessage();
            return "falha";
        }
    }

    @Override
    public String excluir() {
        try {
            acessoHibernate.excluir(this.funcionario);
            return "funcionarioExcluido";
        } catch (HibernateException e) {
            e.getMessage();
            return "falha";
        }
    }
    
    public List getListaFuncionario() {
       try {
            return acessoHibernate.carregarTudoOrdenado(Funcionario.class, "nome");
          } catch (HibernateException e) {
            return null;
        }
    }

    @Override
    public List listar() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public Funcionario getFuncionario() {
        return funcionario;
    }

    public void setFuncionario(Funcionario funcionario) {
        this.funcionario = funcionario;
    }            
}
